package com.qf.springboot2.conf;

import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.beans.factory.support.BeanNameGenerator;
import org.springframework.beans.factory.support.RootBeanDefinition;
import org.springframework.context.annotation.ImportBeanDefinitionRegistrar;
import org.springframework.core.type.AnnotationMetadata;

public class MyIBDR implements ImportBeanDefinitionRegistrar {

    /*
        可以通过BeanDefinitionRegistry向spring容器中动态添加一些BeanDefinition信息对象，后期根据这些BeanDefinition信息对象进一步生成spring bean对象
     */
    @Override
    public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) {
        //对spring bean的描述，相当于java中Class，对java bean的描述
        BeanDefinition bd = new RootBeanDefinition();
        //bean的类型
        bd.setBeanClassName("com.qf.springboot2.pojo.Student");
//        //是否懒加载
//        bd.setLazyInit(false);
//        //是否单例
//        bd.setScope("singleton");

        registry.registerBeanDefinition("xx",bd);
    }
}
